home *** CD-ROM | disk | FTP | other *** search
- QNODE
- =====
-
- QNode has been designed as the fastest nodelist compiler for an Opus 1.10+
- system. Others may in fact be faster, I'm not sure about that, but that
- doesn't affect what it was originally designed for. It was written for my
- system configuration, so anything I wanted it to do, I made it do. Anything
- which exists in other nodelist compilers does not necessarily exist in this
- one.
-
- This program consists of QNODE.EXE and QDIFF.EXE. For a list of the
- errorlevels that either program will produce, run the program with a parameter
- of '/?' (ie: QNODE /?)
-
- QNode will always use the file 'QNODE.CFG' as it's input file, will always
- search and find the latest 'NODELIST.###' file (time-stamps are used, so end
- of year wrap isn't a problem.) and will always generate the two files:
- 'NODELIST.DAT' and 'NODELIST.IDX'. It can also optionally generate the file:
- 'FIDOUSER.LST', memory permitting.
-
- This program is really for the grunt Opus 1.10 sysop you doesn't really care
- about doing anything other than getting a working nodelist.
-
- The config file is a free format text file, consisting of a keyword, followed
- by optional parameters. You may use a semi-colon (;) on any line to start a
- comment. Anything from the semi-colon to the end of the line will be
- cheerfully ignored. The file is totally case insensitive. It is described at
- the end of this document.
-
- QNode will only compile as much of the nodelist as you require. Therefore,
- if you only use zone 1, then the instant that it hits zone 2, it will stop
- compiling the nodelist. This can save a great deal of time in the compile,
- but it also throws the nodelist report at the end out by the extra zone
- hub that it includes. This is nothing to be concerned about.
-
- The errorlevels which can be returned by QNODE are:
-
- 0: Nodelist compile fine.
- 1: No Nodelist found.
- 2: Cannot open config file: QNODE.CFG
- 3: Cannot open nodelist.
- 4: Errors exist in the config file.
-
- QDIFF
- =====
-
- QDiff is also fast, and will check for disk space and bad CRCs.
-
- QDiff will go through your NODELIST.### files, find the most recent one (end
- of year wrap is handled nicely), and then will go through your NODEDIFF.###
- files to find the most recent of them. If there are no NODEDIFF.### files,
- then it will do a second search for NODEDIFF.A##, NODEDIFF.Z##, NODEDIFF.L##.
- If the nodediff file number is not equal to the nodelist file number, then
- things will start happening.
-
- If QDiff is only given a NODEDIFF.A## (arced) or NODEDIFF.Z## (zipped), or
- NODEDIFF.L## (lharced) then it will kindly extract the real nodediff, process
- it, and then delete the extracted nodediff. The new nodediff will NOT be
- deleted if you run out of drive space while processing the nodediff however.
-
- Choices for extractors include (in order): for NODEDIFF.A##:
- PKUNPAK, PKXARC, ARCE, PAK
- for NODEDIFF.Z##:
- PKUNZIP, PAK
- for NODEDIFF.L##:
- LHA, LHARC
-
- While running, QDiff requires enough drive space to create an entire nodelist.
- Once the new one has been created (under the name QDIFF$.TMP), it will be
- renamed to the proper name of NODELIST.###. This is just in case things get
- interrupted, such that you aren't playing with a partial nodelist.
-
- QDiff takes no command line parameters, other than the /? to display the valid
- errorlevels.
-
- The errorlevels which can be returned by QDIFF are:
-
- 0: .DIFF file applied normally
- 1: Nodelist does not require updating
- 2: Cannot find nodediff
- 3: Cannot find nodelist
- 4: Cannot find extraction program
- 5: Nodediff wasn't there after extraction
- 6: Error during extraction
- 7: Disk error during writing, probably disk full
- 8: CRC error in new nodelist
-
- QNODE.CFG
- =========
-
- Here is a list of valid commands, and usages for the QNODE.CFG file:
-
- ; *** STUFF ABOUT YOUR SYSTEM ***
- ZONE # ; This sets YOUR zone number
- NET # ; This sets YOUR net number
- NODE # ; This sets YOUR node number, and is totally ignored.
- COUNTRY # ; This sets your countries telephone direct dial code.
- (In Canada and the US, this will be '1')
- USERLIST ; This asks for FIDOUSER.LST to be generated.
- ; WARNING: If you do not have sufficient memory to load
- ; the whole thing into memory, you will not get the whole
- ; thing. I have not put sort on disk routines into it yet,
- ; so you will only get what it can fit into memory.
- BUFFERS # ; This sets the node buffer size. It can be anywhere from
- ; 1 to 511, and defaults to 511. The only use I can see for
- ; this is to give yourself more memory for the userlist.
- ; (If you don't have enought memory for the buffers
- ; themselves, it will default to a lower number of nodes.
- MAXBAUD # {[FLAG #] ...}
- ; This sets your systems maximum baud rate. Any entires above
- ; the baud rate will be set to that baud rate. However, any
- ; nodes which have the flag specified will be changed to the
- ; listed baudrate. In multiple matches, the last one rules.
- ; (My 2400/MNP5 uses: MAXBAUD 2400 HST 9600 MNP 9600 V42 9600)
-
- ; *** QUICK OUTPUT LIST TYPES ***
- ; (Note: These may be specified on the command line, if desired)
- ONEZONE ; Asks for only nodes in your zone. (ie: ZONE:*/*)
- REGULAR ; Asks for only your zone, plus hub nodes from other zones.
- ; (ie: ZONE:*/* + *:*/0)
- ALLZONES ; Asks for a complete nodelist (ie: *:*/*)
- NOZONES ; Asks for NO nodes whatsoever to be included
-
- ; *** NODELIST GENERATION MODIFIERS ***
- ADD {[nodeid] ...}
- DELETE {[nodeid] ...}
- ; These two functions are used to change the list generated
- ; by the quick output list types.
- ; The [nodeid] statements may be any of these style of
- ; numbers:
- ; ZONE: ; Asks for the entire zone
- ; ZONE:REGION ; Asks for the entire region
- ; ZONE:NET ; Asks for the entire net
- ; REGION ; Asks for a region in your own zone
- ; NET ; Asks for a net in your own zone
- ; -ZONE: ; Asks for admin node for the zone
- ; ZONE:-REGION ; Asks for admin nodes from specified region
- ;
- ; These commands are processed in the order they are
- ; encountered. You may have as many add and delete lines as
- ; you like, in any order. In cases of multiple matches, the
- ; first applicable match will rule.
- NETLIST filename
- ; This will include the specified file at the end of your
- ; own net. This is used to add people who 'just missed' the
- ; weeks nodediff.
- ZONELIST filename
- ; This will include the specified file at the end of your
- ; own zone. This is used to include your pointnet.
- INCLUDE filename
- ; This will include the specified file into the QNODE.CFG
- ; parsing pass. I personally use this to include my dial and
- ; cost tables, which are used by every nodelist processor.
-
- ; *** BULK NODE MODIFICATIONS ***
-
- ; (Actually, these don't need to change numbers into script files,
- ; but that's the only use I can see. Inventive people will probably
- ; come up with other uses.)
- SCRIPT minbaud maxbaud cost fromdial todial
- ; This is one form of the script command, which I invented to
- ; handle my 2400 baud/MNP 5 modem. In this case, every node
- ; which has a baud rate between (or equal to) the minbaud and
- ; the maxbaud, with a cost equal to the cost, will have the
- ; listed dial substitution done to it. (If the start of the
- ; phone number doesn't match the fromdial, that node is not
- ; changed.)
-
- ; On my system, I use:
- ; SCRIPT 300 2400 0 1- "NOMNP1.SCR" ; Local Calls
- ; SCRIPT 300 2400 25 1- "NOMNP2.SCR" ; No Areacode calls
- ; SCRIPT 300 2400 50 1- "NOMNP3.SCR" ; Long Distance calls
- ; You could add another set of entries for other countries
- ; too, but I don't call international yet, so haven't required
- ; it.
-
- ; *** DIAL/COST TABLES ***
- ; In the dial table, there are two parameters after the dial
- ; keyword. the first is the modifications to local calls (ones
- ; within your own country code), and the second is the
- ; modifications to the international direct dial phone numbers
- ; (ones with any other country code.) Each of these
- ; entries consists of what to put before the phone number, as
- ; well as what to put after the phone number. To seperate the
- ; two, use a slash (/). For no change to the phone number,
- ; use a slash by itself. You should use the keyword 'End' to
- ; terminate the dial and cost tables.
-
- ; The dial table will replace every phone number that starts
- ; with the first sequence with the second sequence. This is
- ; for local or regional calls where you aren't allowed to dial
- ; the entire phone number.
-
- ; An example follows:
-
- DIAL / 011- ; Add 011- to international calls
-
- ; The following set up local calls from Saskatoon, SK
- 1-306-242- 242-
- 1-306-244- 244-
- 1-306-373- 373-
- 1-306-374- 374-
- 1-306-382- 382-
- 1-306-384- 384-
- 1-306-652- 652-
- 1-306-654- 654-
- 1-306-664- 664-
- 1-306-665- 665-
- 1-306-931- 931-
- 1-306-933- 933-
- 1-306-934- 934-
- 1-306-955- 955-
- 1-306-966- 966-
- 1-306-978- 978-
- 1-306-329- 329-
- 1-306- 1- ;area code strip for Saskatchewan calls
- END
-
- ; The COST statement at the head of the table can take two
- ; arguments, which are the default costs in pennies to apply to
- ; domestic and international calls, respectively.
-
- ; Each entry in the cost table consists of a partial phone
- ; number followed by a cost in pennies for sending a message
- ; to any node whose phone number begins with that string. As
- ; with the dialing table, the first matching entry is the one
- ; that is used. The cost table is used before the dial table
- ; is used, so you should always use the fully expanded phone
- ; numbers, instead of the simplified phone numbers which the
- ; dial table would generate
-
- ; An example follows:
-
- COST 50 250 ; Give a cost of 50 cents to long
- ; distance nodes, and $2.50 international
-
- ; The following numbers are free from Saskatoon, SK
- 1-306-242- 00
- 1-306-244- 00
- 1-306-373- 00
- 1-306-374- 00
- 1-306-382- 00
- 1-306-384- 00
- 1-306-652- 00
- 1-306-654- 00
- 1-306-664- 00
- 1-306-665- 00
- 1-306-931- 00
- 1-306-933- 00
- 1-306-934- 00
- 1-306-955- 00
- 1-306-966- 00
- 1-306-978- 00
- 1-306-329- 00
- 1-306- 25 ; short distance calls, cheaper rates
- 1-800- 00
- 1-900- 50
- END
-
- ; *** INDIVIDUAL NODE MODIFICATIONS ***
- BAUD [zone:][net/]node baudrate
- ; Sets the specified nodes baudrate to whatever you specify.
- FLAGS [zone:][net/]node flaglist
- ; Adds the specified flags to the node. (Normally 'CM')
- PHONE [zone:][net/]node phonenumber
- ; Sets the specified nodes phone number
- ; (Unless the node number is unlisted, you may want to see
- ; if you can use the SCRIPT command instead, which doesn't
- ; have to be changed if the person ever changes their phone
- ; number.)
- PASSWORD [zone:][net/]node password
- ; Sets the specified nodes password. No embedded blanks
- ; are allowed in these passwords.
- SCRIPT [zone:]net/node fromdial todial
- ; This is the second form of the script command. Please note
- ; that the net number IS required, even if it's your own net.
- ; (I use the '/' to determine the difference between the two
- ; script lines.)
- ; For instance:
- ; SCRIPT 140/88 1- "VORTEX.SCR" ; Needs a special script.
- ; (This is less error prone than sticking his phone number
- ; into a dial substitution line.)
-
-